#ifndef I_WORLDNET_SERVERMODULE_H
#define I_WORLDNET_SERVERMODULE_H

#include <iostream>
#include "IModule.h"
#include "IPlugin.h"
#include "Protocol/MsgDefine.pb.h"
#include "INetModule.h"

namespace FragrantGrass
{
	class IWorldNetServerModule
		: public IModule
	{
		DECLARE_MODULE_NAME(IWorldNetServerModule)
	public:
		virtual void OnServerInfoProcess(const SOCK nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen) = 0;

		virtual bool SendMsgToGame(const GUID nPlayer, const Protocol::EGameMsgID eMsgID, google::protobuf::Message& xData) = 0;

		virtual FG_SHARE_PTR<ServerData> GetSuitProxyForEnter() = 0;
		virtual const std::vector<GUID>& GetOnlinePlayers() = 0;

	};
}

#endif//I_WORLDNET_SERVERMODULE_H